/* --------------------------------------------------- ABM DE FACTURAS ------------------------------------------------------------*/

/* ---------- Datable ---------- */
$(document).ready(function(){
	$('.datatable').dataTable({
		"sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span12'i><'span12 center'p>>",
		"sPaginationType": "bootstrap",
		//Ordena las filas por el valor de la columna n de forma ascendente o descendente. La columna inicial es la 0
		"aaSorting": [[ 0, "desc" ]],
		"oLanguage": {
			"sProcessing":   "Procesando...",
			"sLengthMenu": "_MENU_ registros por p&aacute;gina",
			"sZeroRecords":  "No se encontraron resultados",
			"sInfo":         "Mostrando desde _START_ hasta _END_ de _TOTAL_ registros",
			"sInfoEmpty":    "Mostrando desde 0 hasta 0 de 0 registros",
			"sInfoFiltered": "(filtrado de _MAX_ registros en total)",
			"sInfoPostFix":  "",
			"sSearch":       "Buscar:",
			"sUrl":          "",
			"oPaginate": {
				"sFirst":    "Primero",
				"sPrevious": "Anterior",
				"sNext":     "Siguiente",
				"sLast":     "&Uacute;ltimo"
			}
		}
	});
});

//*Este metodo se llama cuando en el metodo consultar facturas de servicios de clientes se cambia la seleccion del servicio de cliente seleccionado en el filtro*/
function filtrarFacturas(url){
	var sxc = document.getElementById("sxc");	
	window.location = url + "/" + sxc.value + ".html";
}

/*Este metodo se llama cuando en el metodo consultar facturas de servicios de clientes se aprieta el boton eliminar factura de cada registro*/
function eliminarFactura(url, cliente, servicio){
	var sxc = document.getElementById("sxc");
	
	var resp = confirm("Realmente desea eliminar la factura del servicio: '"+servicio+"' de '"+cliente+"'?");
	if(resp == true){
		$("#content").load(url+"/"+sxc.value+".html", function(){});
	}
}

//Este metodo se llama para que cuando se selecciona un servicio de cliente se complete tanto el total como la ganancia del referente
function completarFactura(url){
	var sxc = document.getElementById("sxc");
	
	$.post(url+"/"+sxc.value+"/1.html", { },
		function(data){
			var total = document.getElementById("total");	
			total.value = data;
	});
	
	$.post(url+"/"+sxc.value+"/2.html", { },
		function(data){
			var gananciaReferente = document.getElementById("gananciaReferente");	
			gananciaReferente.value = data;
	});
}

//Este metodo se llama cuando se tiene que crear una factura de servicio de cliente nueva
function crearFactura(){
	var numeroFactura = document.getElementById("numeroFactura");
	var fecha = document.getElementById("fecha");
	var sxc = document.getElementById("sxc");
	var total = document.getElementById("total");
	var gananciaReferente = document.getElementById("gananciaReferente");
	var estado = document.getElementById("estado");
		
	if(fecha.value!="" && sxc.value!="0" && total.value!=""){
		//Enviamos el formulario al servidor para que se procese la transaccion
		var formulario = document.getElementById("formFactura");
		formulario.submit();
		
		//Inicializamos todos campos a vacios.		
		numeroFactura.value = parseInt(numeroFactura.value) + 1;
		sxc.value = "0";
		total.value = "0";
		gananciaReferente.value = "0";
		estado.value = "1";
		
		//Si habia algun campo marcado como incompleto lo ponemos a la normalidad		
		$("#campoFecha").removeClass("error");
		$("#campoSxC").removeClass("error");
		$("#campoTotal").removeClass("error");
	}else{
		alert("Por favor, ingrese todos los datos de la factura del servicio que desea crear.");
		
		//Marcamos todos los campos imcompletos para que sea mas facil de visualizar.		
		if(fecha.value == "") $("#campoFecha").addClass("error"); else $("#campoFecha").removeClass("error");	
		if(sxc.value == "0") $("#campoSxC").addClass("error"); else $("#campoSxC").removeClass("error");
		if(total.value == "") $("#campoTotal").addClass("error"); else $("#campoTotal").removeClass("error");
	}
}

//Este metodo se llama cuando se tiene que modificar una factura de servicio de cliente
function modificarFactura(){
	var numeroFactura = document.getElementById("numeroFactura");
	var fecha = document.getElementById("fecha");
	var sxc = document.getElementById("sxc");
	var total = document.getElementById("total");
	var gananciaReferente = document.getElementById("gananciaReferente");
	var estado = document.getElementById("estado");
		
	if(fecha.value!="" && sxc.value!="0" && total.value!=""){
		//Enviamos el formulario al servidor para que se procese la transaccion
		var formulario = document.getElementById("formFactura");
		formulario.submit();
						
		//Si habia algun campo marcado como incompleto lo ponemos a la normalidad		
		$("#campoFecha").removeClass("error");
		$("#campoSxC").removeClass("error");
		$("#campoTotal").removeClass("error");
	}else{
		alert("Por favor, ingrese todos los datos de la factura del servicio que desea modificar.");
		
		//Marcamos todos los campos imcompletos para que sea mas facil de visualizar.		
		if(fecha.value == "") $("#campoFecha").addClass("error"); else $("#campoFecha").removeClass("error");	
		if(sxc.value == "0") $("#campoSxC").addClass("error"); else $("#campoSxC").removeClass("error");
		if(total.value == "") $("#campoTotal").addClass("error"); else $("#campoTotal").removeClass("error");
	}
}